package s2elinshu;

import s2elinshu.model.SungJukVO;

public class J13ValueObject {
	
	// Value Object Pattern
	// Sun의 J2EE(기업용 공용 프로그램)개발에 적용하는 패턴(design pattern)
	// 데이터베이스 레코드에 대응되는 클래스
	// 네트워크 트래픽을 줄이기 위해 사용
    // 테이블 마다 정의해야 하므로 클래스 수가 많아져서 
	// 관리하기가 어려움
	// 하지만, 데이터베이스의 데이터들을 
	// 효율적으로 전달할 수 있기 때문에 
	// 필수적으로 사용
	
	// 디자인 패턴
	// 프로그램 개발시 빈번하게 발생하는 특정 문제에 대한
	// 해결방법을 정리해서, 상황에 따라 간편하게 적용해서 
	// 쓸 수 있도록 고안된 형식
	// head first design patterns(책 추천/난이도 하 / 입문용)
	// GOF design patterns(책 추천/난이도 상)
	// JAVA 언어로 배우는 디자인 패턴 입문(추천 / 입문용)

	public static void main(String[] args) {
		SungJukVO sj = new SungJukVO("태희", 60, 60, 60);
		System.out.println(sj.toString());

		// 따로 보고 싶으면 하기와 같이 써주면 됨
		System.out.println(sj.getTot());
		System.out.println(sj.getAvg());
		System.out.println(sj.getGrd());

		// 값 지정(변경) 
		sj.setName("혜교");
		sj.setKor(78);
		sj.setEng(89);
		sj.setMat(88);
		System.out.println(sj.toString());

		sj.setName("지현");
		sj.setKor(88);
		sj.setEng(98);
		sj.setMat(55);
		System.out.println(sj.toString());

	} // main닫음
} // J13ValueObject class 닫음

